Data storage systems (DSSes) store large quantities of data logically arranged onto many logical disks accessible to host devices. Traditional DSSes assigned each logical disk a size at creation time, allocating space from physical storage at that time in what is known as “thick provisioning.” Some newer DSSes allow logical disks to be thinly-provisioned by dynamically assigning more or less underlying physical storage to the logical disks as needed.
Some newer DSSes create and manage filesystems on all or some of their logical disks. Traditionally these filesystems were thickly-provisioned as well. Even when a filesystem is thickly-provisioned, however, the size of its underlying storage may vary as new files are created and resized. In addition, in more complex filesystems that share blocks between several files, the amount of underlying storage that is required may vary as files are written to, even when they are not being resized. In addition, in some newer systems, filesystems may also be thinly-provisioned.